home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / bmgrep.arc / BMGREP.DOC < prev    next >
Text File  |  1986-12-10  |  3KB  |  132 lines

  1.  
  2.  
  3. Page 1                                                                bm
  4.  
  5.  
  6.  
  7. NAME
  8.     bm -- search a file for a string
  9.  
  10. SYNOPSIS
  11.     
  12.     bm [option] ... [strings] [file]
  13.  
  14. DESCRIPTION
  15.     Bm  searches  the  input  files  (standard  input default) for lines
  16.     matching a string. Normally,  each  line  found  is  copied  to  the
  17.     standard  output.  It  is  blindingly  fast.  Bm  strings  are fixed
  18.     sequences of characters: there are  no  wildcards,  repetitions,  or
  19.     other features of regular expressions. Bm is also case sensitive.
  20.     
  21.     The following options are recognized.
  22.         -x  (Exact) only lines matched in their entirety are printed
  23.         -l  The  names  of  files  with matching lines are listed (once)
  24.             separated by newlines.
  25.         -c  Only a count of the number of matches is printed
  26.         -e  string
  27.             The string is the next argument  after  the  -e  flag.  This
  28.             allows strings beginning with '-'.
  29.         -h  No  filenames  are  printed,  even  if  multiple  files  are
  30.             searched.
  31.         -n  Each line is preceded by the number of  characters  from  the
  32.             beginning of the file to the match.
  33.         -s  Silent mode. Nothing is printed (except error messages). This
  34.             is useful for checking the error status.
  35.         -f  path  The  string  list  is taken from the path. This may be
  36.             either a file or a tty.
  37.  
  38.     Unless the -h option is specified the file name is shown if there is
  39.     more than one input file.  Care  should  be  taken  when  using  the
  40.     characters  $  *  [  ^  |  (  ) and \ in  the strings (listed on the
  41.     command line) as they are also meaningful to the Shell. It is safest
  42.     to enclose the entire expression argument in single quotes ' '.
  43.  
  44.     Bm searches for lines that contain one  of  the  (newline-separated)
  45.     strings,  using  the  Boyer-Moore  algorithm.  It is far superior in
  46.     terms of speed to the grep (egrep, fgrep) family of pattern matchers
  47.     for fixed-pattern searching, and its speed  increases  with  pattern
  48.     length.
  49.  
  50. SEE ALSO
  51.     grep(1)
  52.  
  53. DIAGNOSTICS
  54.     Exit  status  is 0 if any matches are found, 1 if none, 2 for syntax
  55.     errors or inaccessible files.
  56.  
  57. AUTHOR
  58.     Peter Bain (pdbain bnr-vpa), with modifications  suggested  by  John
  59.     Gilmore and Amir Plivatsky
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68. Page 2                                                                bm
  69.  
  70.  
  71. BUGS
  72.     Only 100 patterns are allowed.
  73.  
  74.     Patterns may not contain newlines.
  75.  
  76.     If  a  line (delimited by newlines, and the beginning and end of the
  77.     file) is longer than 8000 charcters (e.g. in a core dump),  it  will
  78.     not be completely printed.
  79.  
  80.     If  multiple patterns are specified, the order of the ouput lines is
  81.     not necessarily the same as the order of the input lines.
  82.  
  83.     A line will be printed once for each different string on that line.
  84.  
  85.     The algorithm cannot count lines.
  86.  
  87.     The -n and -c work differently from fgrep.
  88.  
  89.     The -v, -i, and -b are not available.
  90.     
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.